﻿#ifndef SIMULATIONPARASWIDGET_H
#define SIMULATIONPARASWIDGET_H

#include "GUICalculateDialogAPI.h"
#include "GUICalculateWidgetBase.h"

namespace Ui {
    class SimulationParasWidget;
}

namespace EventOper {
    class ParaWidgetInterfaceOperator;
}

namespace Interface {
    class FITKSimulationParameters;
}

namespace GUI
{

    class GUICalculateDialogAPI SimulationParasWidget :public GUICalculateWidgetBase
    {
        Q_OBJECT;
    public:
           /**
            * @brief Construct a new Solution Widget object
            * @param[i]  oper           操作器对象
            * @param[i]  parent         父对象
            * @author Liziyang (Liziyang@163.com)
            * @date 2025-01-06
            */
           SimulationParasWidget(EventOper::ParaWidgetInterfaceOperator* oper, QWidget* parent = nullptr);
           /**
            * @brief Destroy the Solution Widget object
            * @author Liziyang (Liziyang@163.com)
            * @date 2025-01-06
            */
           ~SimulationParasWidget();
           /**
            * @brief 初始化
            * @author Liziyang (Liziyang@163.com)
            * @date 2025-01-06
            */
           void init();


    protected:
           /**
            * @brief 显示事件重写
            * @param[i]  event          事件对象
            * @author Liziyang (Liziyang@163.com)
            * @date 2025-01-06
            */
           void showEvent(QShowEvent *event);
           /**
            * @brief 界面大小变化事件重写
            * @param[i]  event          事件对象
            * @author Liziyang (Liziyang@163.com)
            * @date 2025-01-06
            */
           void resizeEvent(QResizeEvent *event);
    private:
           void updateAction();
           void updateCtrlParas();


    private:
           /**
            * @brief ui
            * @author Liziyang (Liziyang@163.com)
            * @date 2025-01-06
            */
           Ui::SimulationParasWidget* _ui = nullptr;
           /**
            * @brief  solution对象
            * @author Liziyang (Liziyang@163.com)
            * @date   2025-01-06
            */
           Interface::FITKSimulationParameters* _simuParas=nullptr;

    };

}

#endif // SIMULATIONPARASWIDGET_H
